An online ATS resume scanner that uses NLP to gauge the competitiveness of your resume for a specific job.
I developed a resume reviewer that evaluates resumes based on keyword matching and content analysis using natural language processing (NLP). By referencing popular job-hunting websites for the most commonly used keywords in business and software engineering roles, the extracted text is scored against relevant keywords from the user's inputted job description and a predefined keyword bank.
The primary NLP library I utilized is SpaCy, along with the en_core_web_sm pre-trained model. This smaller model was chosen for its efficiency, speed, and versatility, enabling a faster and more lightweight backend. Key functionalities of SpaCy, such as tokenization, entity recognition, and syntactic analysis, were employed to extract essential details, including the person's name, email, skills, and degree. Additionally, for unique technical details, regular expressions (regex) were used to identify potential permutations of LinkedIn profiles, GitHub links, and personal websites.
After extracting the key information into a JSON structure, the data is evaluated based on four criteria: skills, experience, education, and keywords. The evaluation incorporates context from the job posting and general role-specific keywords to generate a score for the user, with certain criteria weighted more heavily than others.